home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer 2.0 / Internet Surfer 2.0 (Wayzata Technology) (1996).iso / pc / textfile / faqs / games / corewar_ < prev    next >
Encoding:
Internet Message Format  |  1992-12-26  |  18.5 KB

  1. Xref: bloom-picayune.mit.edu rec.games.corewar:3 news.answers:4483
  2. Path: bloom-picayune.mit.edu!enterpoop.mit.edu!senator-bedfellow.mit.edu!senator-bedfellow.mit.edu!usenet
  3. From: durham@cup.portal.com (Mark A. Durham)
  4. Newsgroups: rec.games.corewar,news.answers
  5. Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ)
  6. Supersedes: <games/corewar-faq_721634424@athena.mit.edu>
  7. Followup-To: rec.games.corewar
  8. Date: 8 Dec 1992 06:02:20 GMT
  9. Organization: The Core War Newsletter
  10. Lines: 433
  11. Approved: news-answers-request@MIT.Edu
  12. Expires: 21 Jan 1993 06:02:09 GMT
  13. Message-ID: <games/corewar-faq_723794529@athena.mit.edu>
  14. Reply-To: durham@cup.portal.com (Mark A. Durham)
  15. NNTP-Posting-Host: pit-manager.mit.edu
  16. Summary: This posting contains a list of Frequently Asked Questions
  17.          (and their answers) about the game Core War.  It should be
  18.          read by anyone interested in posting to the rec.games.corewar
  19.          newsgroup or submitting warriors to the ongoing Core War
  20.          tournament - KotH.
  21. X-Last-Updated: 1992/12/04
  22.  
  23. Archive-name: games/corewar-faq
  24. Last-modified: 1992/12/04
  25. Version: 1.7
  26.  
  27. These are the Frequently Asked Questions (and answers) from
  28. rec.games.corewar as compiled by Mark A. Durham (durham@cup.portal.com).
  29.  
  30. Last Update: December 4, 1992
  31.  
  32. TABLE OF CONTENTS
  33. -----------------
  34.  
  35. 1. What is Core War?
  36.  
  37. 2. Is it Core War or Core Wars?
  38.  
  39. 3. Where can I find more information about Core War?
  40.  
  41. 4. What is the ICWS?
  42.  
  43. 5. What is TCWN?
  44.  
  45. 6. How do I join?
  46.  
  47. 7. Are back issues of TCWNs available?
  48.  
  49. 8. What is the EBS?
  50.  
  51. 9. Where are the Core War archives?
  52.  
  53. 10. Where can I find a Core War system for . . . ?
  54.  
  55. 11. I do not have ftp.  How do I get all of this great stuff?
  56.  
  57. 12. I do not have access to Usenet.  How do I post and receive news?
  58.  
  59. 13. When is the next tournament?
  60.  
  61. 14. What is KOTH?  How do I enter?
  62.  
  63. 15. Is it DAT 0, 0 or DAT #0, #0?  How do I compare to core?
  64.  
  65. 16. How does SLT (Skip if Less Than) work?
  66.  
  67. 17. What does (expression or term of your choice) mean?
  68.  
  69. 18. Other questions?
  70.  
  71. ---------------------------------------------------------------------
  72.  
  73. Q1: What is Core War?
  74. A1: Core War is a game played by two or more programs (and vicariously
  75. by their authors) written in an assembly language called Redcode and
  76. run in a virtual computer called MARS (for Memory Array Redcode Simulator).
  77. The object of the game is to cause all of the opposing programs to
  78. terminate, leaving your program in sole possesion of the machine.
  79.  
  80. There are Core War systems available for most computer platforms.
  81. Redcode has been standardized by the ICWS, and is therefore transportable
  82. between all standard Core War systems.
  83.  
  84. ----------------------------------------------------------------------
  85.  
  86. Q2: Is it "Core War" or "Core Wars"?
  87. A2: Both terms are used.  Early references were to Core War.  Later
  88. references seem to use Core Wars.  I prefer "Core War" to refer to
  89. the game in general, "core wars" to refer to more than one specific
  90. battle.
  91.  
  92. ----------------------------------------------------------------------
  93.  
  94. Q3: Where can I find more information about Core War?
  95. A3: Core War was first described in the "Core War Guidelines" of March,
  96. 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer
  97. Science at The University of Western Ontario (Canada).  Dewdney wrote
  98. several "Computer Recreations" articles in "Scientific American" which
  99. discussed Core War, starting with the May 1984 article.  Those articles
  100. are contained in an anthology:
  101.  
  102. Author: Dewdney, A. K.
  103. Title: The Armchair Universe: An Exploration of Computer Worlds
  104. Published: New York: W. H. Freeman (c) 1988
  105. ISBN: 0-7167-1939-8
  106. Library of Congress Call Number: QA76.6 .D517 1988
  107.  
  108. (See Also Q9).
  109.  
  110. ---------------------------------------------------------------------
  111.  
  112. Q4: What is the ICWS?
  113. A4: About one year after Core War first appeared in Sci-Am, the
  114. "International Core War Society" (ICWS) was established.  Since that
  115. time, the ICWS has been responsible for the creation and maintenance
  116. of Core War standards and the running of Core War tournaments.  There
  117. have been six annual tournaments and two standards (ICWS'86 and
  118. ICWS'88).
  119.  
  120. ---------------------------------------------------------------------
  121.  
  122. Q5: What is TCWN?
  123. A5: Since March of 1987, "The Core War Newsletter" (TCWN) has been the
  124. official newsletter of the ICWS.  It is published quarterly and recent
  125. issues are also available as Encapsulated PostScript on soda.berkeley.edu
  126. (see Q9).
  127.  
  128. ---------------------------------------------------------------------
  129.  
  130. Q6: How do I join?
  131. A6: For more information about joining the ICWS (which includes a
  132. subscription to TCWN), contact:
  133.  
  134.    Jon Newman
  135.    13824 NE 87th Street
  136.    Redmond, WA 98052-1959
  137.    email: jonn@microsoft.com  (Note: Microsoft has NO affiliation with
  138.                                      Core War.  Jon Newman just happens
  139.                                      to work there, and we want to keep
  140.                                      it that way!)
  141.  
  142. Current dues are $15.00 in US currency.
  143.  
  144. If you wish to contribute an article, review, cartoon, letter, joke, rumor,
  145. etc. to TCWN, please send it to me at 
  146.  
  147.    Mark A. Durham
  148.    18 Honeysuckle Terrace
  149.    Spartanburg, SC 29307-3760
  150.    email: durham@cup.portal.com
  151.  
  152. ----------------------------------------------------------------------
  153.  
  154. Q7: Are back issues of TCWN available?
  155. A7: Back issues of TCWN (up to Winter 1991) are available from
  156.  
  157.    AMRAN
  158.    5712 Kern Drive
  159.    Huntington Beach, CA 92649-4535
  160.  
  161. or contact William R. Buckley at xwbuckley@fullerton.edu.
  162.  
  163. Prices are unknown at this time, but should be around $5.00 (the original
  164. cover price).
  165.  
  166. More recent issues can be found on soda.berkeley.edu (see Q9).
  167.  
  168. ---------------------------------------------------------------------
  169.  
  170. Q8: What is the EBS?
  171. A8: The Electronic Branch Section (EBS) of the ICWS is a group of
  172. Core War enthusiasts with access to electronic mail.  There are no fees
  173. associated with being a member of the EBS, and members do reap some of
  174. the benefits of full ICWS membership without the expense.  For instance,
  175. the ten best warriors submitted to the EBS tournament are entered
  176. into the annual ICWS tournament.  All EBS business is conducted in the
  177. rec.games.corewar newsgroup.
  178.  
  179. The current goal of the EBS is to be at the forefront of Core War by
  180. writing and implementing new standards and test suites in preparation for
  181. the tenth anniversary of Core War in May of 1994.  Its immediate business
  182. will be to set up a Charter and establish its officers.  Contact me (see
  183. Q6) if you are interested in helping serve the EBS.
  184.  
  185. ----------------------------------------------------------------------
  186.  
  187. A9: Where is the Core War archive?
  188. Q9: Many documents such as the guidelines and the ICWS standards
  189. along with previous tournament Redcode entries and complete Core War
  190. systems are available via anonymous ftp from soda.berkeley.edu
  191. (128.32.131.179) in the /pub/corewar directories.  Also, most of
  192. past rec.games.corewar postings (including Redcode source listings)
  193. are archived there.  Jon Blow (blojo@soda.berkeley.edu) is the archive
  194. administrator.
  195.  
  196. Much of what is available on soda is also available on the German archive
  197. at iraun1.ira.uka.de (129.13.10.90) in the /pub/X11/corewars directory.
  198.  
  199. This FAQ is automatically archived by news.answers.  See the header for
  200. the current archive name and news.answers for how to get it.
  201.  
  202. ----------------------------------------------------------------------
  203.  
  204. Q10: Where can I find a Core War system for . . . ?
  205. A10: Core War systems are available via anonymous ftp from
  206. soda.berkeley.edu in the pub/corewar/systems directory.
  207. Currently, there are Unix X-Window, IBM PC-compatible (sorry, no systems
  208. specifically designed for MS-Windows yet), Macintosh, and Amiga
  209. Core War systems available there.
  210.  
  211. CAUTION!  There are many, many Core War systems available which are NOT
  212. ICWS'88 (or even ICWS'86) compatible available at various archive sites
  213. other than soda.berkeley.edu.  Generally, the older the program - the less
  214. likely it will be ICWS compatible.
  215.  
  216. Reviews of Core War systems would be greatly appreciated in the newsgroup
  217. and in the newsletter.  Please post or email to me any review of any
  218. Core War system you have tried out so that others may learn from your
  219. experience.
  220.  
  221. ----------------------------------------------------------------------
  222.  
  223. Q11: I do not have ftp.  How do I get all of this great stuff?
  224. A11: There is an ftp email server at ftpmail@decwrl.dec.com.  Send
  225. email with a subject and body text of "help" (without the quotes) for
  226. more information on its usage.
  227.  
  228. ----------------------------------------------------------------------
  229.  
  230. Q12: I do not have access to Usenet.  How do I post and receive news?
  231. A12: I know of no Usenet email server at this time.  I am trying to find
  232. a server and verify its function.  If anyone knows of one, please let me
  233. know so I can include it in the next FAQ.
  234.  
  235. If you somehow receive rec.games.corewar but just can't post, you can
  236. email your post to rec-games-corewar@cs.utexas.edu and it will be
  237. automatically posted for you.
  238.  
  239. ----------------------------------------------------------------------
  240.  
  241. Q13: When is the next tournament?
  242. A13: The 1992 Annual ICWS tournament will be held December 15th, 1992.
  243. The rules are currently ICWS'88, core size of 8192, maximum number of
  244. processes per warrior of 8000, and ties declared after 100 000 cycles.
  245. The format is round-robin.  Scoring is three points per win, one point per
  246. tie, and no points for losses.
  247.  
  248. To enter you must be a member of the International Core War Society or
  249. successfully participate in one of the Branch Section preliminary
  250. tournaments ("successfully" meaning finish in the top five/ten [see below]).
  251.  
  252. Valid entries should be sent to Jon Newman either via email to
  253. jonn@microsoft.com of via mail on 3.5" disk (800K Mac or 720K IBM), 5.25"
  254. disk (720K IBM or 1.2MB IBM), or printed.  Disk entries should be in a
  255. simple ASCII text format and on virus-free disks.
  256.  
  257. ICWS Members may submit one entry or two entries if in electronic form.
  258. Branch Sections may submit five entries, or ten if in electronic form.
  259. Entries are limited to 50 instructions, 300 if in electronic form.  (Blank
  260. lines, comment lines, EQUates, etc. are not counted as instructions).  No
  261. scatter loading will be supported (instructions must be contiguous).
  262.  
  263. All entries become public domain on submission.  The ICWS will keep them
  264. confidential until after the tournament has been completed.
  265.  
  266. This is the final call for warriors for the 1992 tournament.
  267.  
  268. ----------------------------------------------------------------------
  269.  
  270. Q14: What is KOTH?  How do I enter?
  271. A14: King Of The Hill (KOTH) is an ongoing Core War tournament available
  272. to anyone with email provided by William Shubert (wms@iwarp.intel.com).
  273. You enter by submitting via email a Redcode program with special comment
  274. lines.  You will receive a reply indicating how well your program did
  275. against the current top twenty programs "on the hill".  If your program
  276. finished in the top twenty, it will remain on the hill until such time as
  277. it finishes twenty-first against another challenger, at which time it
  278. "falls off" the hill.
  279.  
  280. Entry rules for King of the Hill Corewar:
  281.  
  282. 1) Write a corewar program.  KotH is fully ICWS '88 compatible, EXCEPT that
  283.    a comma (",") is required between two arguments.
  284.  
  285. 2) Put the line ";redcode" at the top of your program.  This MUST be the
  286.    first line.  Anything before it will be lost.  If you wish to receive
  287.    mail on every new entrant, use ";redcode verbose".  Otherwise you will
  288.    only receive mail if a challenger makes it onto the hill.  Use
  289.    ";redcode quiet" if you wish to receive mail only when you get shoved
  290.    off the hill.  (Also, see 5 below).
  291.  
  292.    Additionally, adding ";name <program name>" and ";author <your name>"
  293.    will be helpful in the performance reports.  Do NOT have a line
  294.    beginning with ";address" in your code; this will confuse the mail daemon
  295.    and you won't get mail back.
  296.  
  297.    In addition, it would be nice if you have lines beginning with
  298.    ";strategy" that describe the algorithm you use.
  299.  
  300. 3) Mail this file to "wms@iwarp.intel.com".
  301.  
  302. 4) Within a few minutes you should get mail back telling you whether your
  303.    program assembled correctly or not.  If it did assemble correctly,
  304.    sit back and wait; if not, make the change required and re-submit.
  305.  
  306. 5) In an hour or so you should get more mail telling you how your program
  307.    performed against the current top 20 programs.  If no news arrives in an
  308.    hour, don't worry; entries are put in a queue and run through the
  309.    tournament one at a time.  A backlog may develop.  Be patient.
  310.  
  311.    If your program makes it onto the hill, you will get mail every time a
  312.    new program makes it onto the hill.  If this is too much mail, you can use
  313.    ";redcode quiet" when you first mail in your program; then you will only
  314.    get mail when you make it on the top 20 list or when you are knocked off.
  315.    Using ";redcode verbose" will give you even more mail; here you get mail
  316.    every time a new challenger arrives, even if they don't make it onto the
  317.    top 20 list.
  318.  
  319.    Often programmers want to try out slight variations in their programs.
  320.    If you already have a program named "Foo V1.0" on the hill, adding the
  321.    line ";kill foo" to a new program will automatically bump foo 1.0 off the
  322.    hill.  Just ";kill" will remove all of your programs when you submit the
  323.    new one.
  324.  
  325.  
  326. MORE ON KOTH COREWAR IMPLEMENTATION
  327.        Core size: 8,000 instructions
  328.    Max processes: 8,000 per program
  329.         Duration: After 80,000 cycles per program a tie is declared.
  330. Max entry length: 100 instructions
  331.  
  332.    Programs are guaranteed a 100 instruction block (inclusive of their
  333.    warrior's instructions) without overlapping their opponent.
  334.  
  335.  
  336. SAMPLE ENTRY:
  337. ;redcode
  338. ;name Dwarf
  339. ;author A. K. Dewdney
  340. ;strategy Throw DAT bombs around memory, hitting every 4th memory cell.
  341. ;strategy   This program was presented in the first Corewar article.
  342. bomb  DAT   #0
  343. dwarf ADD   #4,    bomb
  344.       MOV   bomb, @bomb
  345.       JMP   dwarf
  346.       END   dwarf          ; Programs start at the first line unless
  347.                            ; and "END start" appears to indicate the
  348.                            ; first logical instruction.
  349.  
  350. Rule variants for "eXperimental" corewar:
  351. The same as above but use ";redcode-x" to start your program.
  352.  
  353. Your program will be entered into a second tournament with slightly
  354. different rules.  The rules are:
  355.    - All addressing modes are allowed with all instructions.
  356.    - There is an additional addressing mode, called "postincrement".  To use
  357.      it try an instruction like "mov >5,6".
  358.    - The maximum write distance is 250 instructions.  That is, every time
  359.      your program tries to modify memory, the address is checked; if it is
  360.      more than 250 instructions from the process doing the modify, then
  361.      memory is left unchanged, but the instruction continues as normal.
  362.    - A tie is not declared until 150,000 cycles per program have elapsed.
  363.  
  364. KotH runs on any Unix system with an X windows interface.  The source code
  365. to KotH is available by email from William Shubert.  Write to him at
  366. (wms@iwarp.intel.com) for a copy or get it by anonymous FTP from
  367. soda.berkeley.edu in the pub/corewar/systems directory.
  368.  
  369. ----------------------------------------------------------------------
  370.  
  371. Q15: Is it DAT 0, 0 or DAT #0, #0?  How do I compare to core?
  372. A15: Core is initialized to DAT 0, 0.  This is an "illegal" instruction
  373. under ICWS'88 rules and strictly compliant assemblers (such as KotH)
  374. will not let you write a DAT 0, 0 instruction - only DAT #0, #0.  So
  375. this begs the question, how to compare something to see if it is empty
  376. core.  The answer is, most likely the instruction before your first
  377. instruction and the instruction after your last instruction are both
  378. DAT 0, 0.  You can use them, or any other likely unmodified instructions,
  379. for comparison.
  380.  
  381. ----------------------------------------------------------------------
  382.  
  383. Q16: How does SLT (Skip if Less Than) work?
  384. A16: SLT gives some people trouble because of the way modular arithmetic
  385. works.  It is important to note that all negative numbers are converted
  386. to positive numbers before a battles begins.  Example: (-1) becomes
  387. (M - 1) where M is the memory size.
  388.  
  389. Once you realize that all numbers are treated as positive, it is clear 
  390. what is meant by "less than".  It should also be clear that no number is
  391. less than zero.
  392.  
  393. ----------------------------------------------------------------------
  394.  
  395. Q17: What does (expression or term of your choice) mean?
  396. A17: Here is a selected glossary of terms.  If you have a definition and/or
  397. term you wish to see here, please send it to me.
  398.  
  399. (References to an X-like program mean that the term X is derived from the
  400.    specific program X and has become a generic term).
  401.  
  402. B-Scanners - Scanners which only recognize non-zero B-fields.
  403.  
  404. CMP-Scanner - A Scanner which uses a CMP instruction to look for opponents.
  405.  
  406. Color - Property of bombs which also slow down Scanners.
  407.  
  408. Decoys - Instructions meant to slow down Scanners.  Typically, DATs with
  409.    non-zero B-fields.
  410.  
  411. Incendiary Bomb - An alternative to the SPL 0/JMP -1 bomb.  Looks like
  412.    SPL 0, -8/MOV -1, <-1.  Creates a SPL 0 carpet ahead of itself.
  413.  
  414. Leech - A Leech-like program.  A program which enslaves another.  Usually
  415.    accomplished by bombing with JMPs to a SPL 0 pit with an optional
  416.    core-clear routine.
  417.  
  418. Off-axis - Scanners often search using a comparison between two locations
  419.    of memory M/2 apart, where M is the memory size.  Off-axis scanners use
  420.    different offsets.
  421.  
  422. Paper - A Paper-like program.  One which replicates a process many times.
  423.    Part of the Paper (beats) Scissors (beats) Stone (beats Paper) analogy.
  424.  
  425. Replicator - Generic for Paper.  A program which makes many copies of
  426.    itself.
  427.  
  428. Scanner - A Scanner-like program which searches through core for an
  429.    opponent rather than bombing blindly.
  430.  
  431. Scissors - A Scissors-like program designed to beat replicators.  Part of
  432.    the Paper-Scissors-Stone analogy.
  433.  
  434. Slaver - Generic term for Leech.  A program which enslaves another.
  435.  
  436. Stealth - Lack of visibility to an opponent's program.  Making B-fields
  437.    zero to avoid B-scanners.
  438.  
  439. Stone - A Stone-like program designed to be a small bomber.  Part of the
  440.    Paper-Scissors-Stone analogy.
  441.  
  442. Vampire - A slaver.  A program designed to sap cycles away from an opponent
  443.    and put them toward its own uses.
  444.  
  445. ----------------------------------------------------------------------
  446.  
  447. Q18: Other questions?
  448. A18: Just ask.  Either ask in the rec.games.corewar newsgroup or send your
  449. question(s) to me at durham@cup.portal.com.  I will do my best to answer
  450. your question(s) or put you in touch with someone who can.  If your shy,
  451. check out the Core War archives on soda first to see if your question
  452. has been answered before (see Q9).
  453.  
  454. Mark A. Durham
  455. MAD
  456.